A point-to-point unicast-only packet switch system is a system in which a packet is switched via a point-to-point link by looking up a destination identification of the packet in a routing table residing in a switch. A packet can be routed via many of these point-to-point links by carefully constructing the routing table at each of the switches along the route. The term “unicast” means that the packet can have only one destination.
The RapidIO specification is a point-to-point unicast-only packet switch system and defines at the transport level a packet type that allows a single source and destination. FIG. 2 is a conventional packet structure of a transport header definition bit stream, and is a reproduction of FIG. 1-3 of the RapidIO specification Rev. 1.2, page III-10. Three fields (i.e., tt field 201, destinationID field 203, and sourceID field 204) added to the logical packets 202 and 205 allow for two different sizes of device identification (ID) fields—a large (16-bit) and a small (8-bit). The two sizes of device ID fields allow two different system scalability points to optimize a packet header overhead, and only affix additional transport field overhead if the additional addressing is required. The small device ID field allows for a maximum of 256 devices (e.g., switches) to be attached to the fabric, and the large device ID field allows for systems with up to 65,536 devices. A description of the remainder of this figure is not provided here.
The RapidIO packet switch system does not include multicast and broadcast capabilities. Multicast is defined to be a transmission of the same packet simultaneously to a select group of network elements; a simple example of multicasting is sending an e-mail message to a mailing list. Broadcast is defined to be a transmission of the same packet simultaneously to all network elements. A distinction is made between multicasting and broadcasting in that multicasting refers to transmitting a packet to a select group of network elements whereas broadcasting refers to transmitting a packet to all network elements.
In order for the RapidIO packet switch system to support multicast and broadcast functions, one conventional solution has been to duplicate a packet into many unicast packets so that all possible destinations receive one such unicast packet. Another conventional solution has involved making changes to the system, usually through special fields in the packet payload (e.g., ftype=15 (0xF) of the RapidIO specification is used to describe a user-defined packet format whose payload can be defined to contain fields for multicast transmission).